<?php
// PC端 OA 客户管理
namespace Home\Controller;
use Think\Controller;
class ClientController extends CommonController {
	public function _initialize(){
		parent::_initialize();
	}

    public function index(){
        $p = I('get.p');
        $p = empty($p) ? 1 : $p;

        $search_type = I('param.search_type'); // 搜索条件 销售经理才有  3种情况：全部的、自己的、下属的 
        $date_begin  = I('param.date_begin'); // 搜索条件 开始日期
        $date_end    = I('param.date_end');   // 搜索条件 结束日期        
        if( !empty($date_begin) ){
            $map['add_time'] = array('EGT',strtotime($date_begin));
        }
        if( !empty($date_end) ){
            $map['add_time'] = array('ELT',strtotime($date_end));
        }
        
        $oaLevel = session('USER_AUTH.oa_level');  // 用户基本信息 session
        $userId  = session('USER_AUTH.userid');
        // OA权限 :  1 查看自己的客户信息；  2/3/4 可查看所有人的客户信息
        if($oaLevel == 1){  // 普通销售员 OA权限  查看自己的客户信息
            $map['uid'] = $userId;
        }else if($oaLevel == 2){  // 销售经理 OA权限  可查看自己和普通营销人的客户信息
            switch ($search_type) {  // 查询情况：1、所有的(自己和下属)；2、自己；3、下属
                case 'my': $map['uid'] = $userId; break;
                case 'xiashu': $map['uid'] = array('neq',$userId); break;
            }
        }

        $clientList = M('client_relevance')->where($map)->page($p.',10')->order('id desc')->select();
        if($clientList){  // 如果存在
            $count = M('client_relevance')->where($map)->count();
            // 获取客户的相关信息
            $agentIds = array_column($clientList,'agent_id');
            $agentMap['id'] = array('in',$agentIds);
            $agentList = M('client_agent')->where($agentMap)->field('id,company_id,shop_id,agent_name')->select();  //　经办人信息
            foreach($clientList as $k => $val){
                foreach($agentList as $j => $vo){
                    if($vo['id'] == $val['agent_id']){
                        $clientList[$k]['company_id'] = $vo['company_id'];
                        $clientList[$k]['shop_id']    = $vo['shop_id'];
                        $clientList[$k]['agent_name'] = $vo['agent_name'];
                    }
                }
            }
            $Page = new \Think\Page($count,10);// 实例化分页类 传入总记录数和每页显示的记录数
            $Page ->parameter['search_type'] = $search_type;  // 分页链接 传值 销售经理才有  查询情况
            $Page ->parameter['date_begin']  = $date_begin;   // 分页链接 传值 开始日期
            $Page ->parameter['date_end']    = $date_end;     // 分页链接 传值 结束日期
            $show = $Page->show();// 分页显示输出
        }

        $this->assign('empty','<tr class="text-c odd" role="row"><td colspan="9">暂无数据</td></tr>');
        $this->assign('clientList',$clientList);
        $this->assign('page',$show);// 赋值分页输出
        $this->assign('count',$count);
        $this->assign('search_type',$search_type);  // 赋值 搜索条件 销售经理才有  查询情况
        $this->assign('date_begin',$date_begin);    // 赋值 搜索条件 开始日期
        $this->assign('date_end',$date_end);        // 赋值 搜索条件 结束日期
        $this->assign('p',$p);
        $this->display();
    }

    // 详情页
    public function detail(){
        $clientId  = I('get.id');  // 营销人与客户关联表id
        $clientArr = M('client_relevance')->where(array('id'=>$clientId))->find();
        $agentArr  = M('client_agent')->where(array('id'=>$clientArr['agent_id']))->field('company_id,shop_id,agent_name,tel,qq,wechat,email')->find();
        $shopArr   = M('client_shop')->where(array('id'=>$agentArr['shop_id']))->field('shop_name,shop_manager,shop_birthday,location')->find();
        $this->assign('clientArr',$clientArr);
        $this->assign('agentArr',$agentArr);
        $this->assign('shopArr',$shopArr);
        $this->display();
    }
    
    // 添加页
    public function add(){
        $companyList = M('client_company')->select();
        if($companyList){
            $this->assign('companyList',$companyList);
        }
        $this->display();
    }  
      
    // 获取 中介公司 列表
    public function getCompany(){
        $companyList = M('client_company')->select();
        if($companyList){
            $result = array('state'=>200,'content'=>$companyList);
        }else{
            $result = array('state'=>500,'content'=>'未查询到中介公司数据');
        }

        $this->ajaxReturn($result);
    }

    // 根据 中介公司id 获取 下属的 门店信息
    public function getShop(){
        $companyId = I('post.companyId');
        if($companyId){
            $shopList = M('client_shop')->where(array('company_id'=>$companyId))->select();
            if($shopList){
                $result = array('state'=>200,'content'=>$shopList);
            }else{
                $result = array('state'=>500,'content'=>'未查询到门店数据');
            }
        }else{
            $result = array('state'=>500,'content'=>'未接收到中介公司id传值');
        }

        $this->ajaxReturn($result);
    }

    // 根据 门店id 获取 门店的 经办人信息
    public function getAgent(){
        $shopId = I('post.shopId');
        if($shopId){
            $agentList = M('client_agent')->where(array('shop_id'=>$shopId))->select();
            if($agentList){
                $result = array('state'=>200,'content'=>$agentList);
            }else{
                $result = array('state'=>500,'content'=>'未查询到经办人数据');
            }
        }else{
            $result = array('state'=>500,'content'=>'未接收到门店id传值');
        }

        $this->ajaxReturn($result);

    }

    // 新增中介公司
    public function addCompanyCheck(){
        $company = I('post.company');
        if($company){
            $data['uid'] = session('USER_AUTH.userid');
            $data['company_name'] = $company;
            $data['add_time'] = time();
            $rel = M('client_company_backups')->add($data);
            if($rel){
                $msg = array('state'=>200, 'id'=>$rel, 'content'=>'添加成功');
            }else{
                $msg = array('state'=>500,'content'=>'添加成功');
            }
        }
        $this->ajaxReturn($msg);
    }

    // 新增门店
    public function addShopCheck(){
        
    }

    // 选择客户地点
    public function choiceAddress(){
        //$id = I('get.id');
        //$this->assign('id',$id);
        $this->display();
    }

}